package com.view;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.model.Seccion;
import com.validators.Unique;

@ManagedBean
@ViewScoped
@SuppressWarnings("serial")
@Unique(entity = Seccion.class, property = "nombre", daoName = "seccionDAO", message = "El nombre de la sección ya existe en el sistema")
public class SeccionView extends BaseView implements Serializable {

	private Long id;

	@NotNull(message = "Debe ingresar una sección")
	@Size(min = 1, max = 200, message = "El nombre de la sección debe tener entre 1 y 200 caracteres")
	private String nombre;

	private String observaciones;

	private SeccionView padre;

	public SeccionView(Long id, String nombre, String observaciones,
			SeccionView padre) {
		super();
		this.id = id;
		this.nombre = nombre;
		this.observaciones = observaciones;
		this.padre = padre;
	}

	public SeccionView() {
		this(null, null, null, null);
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public SeccionView getPadre() {
		return padre;
	}

	public void setPadre(SeccionView padre) {
		this.padre = padre;
	}

}
